package aip2011.model;

import java.io.Serializable;

import com.google.appengine.api.datastore.Key;

import org.slim3.datastore.Attribute;
import org.slim3.datastore.Model;

@Model(schemaVersion = 1)
public class Rifugio implements Serializable {

    private static final long serialVersionUID = 1L;

    @Attribute(primaryKey = true)
    private Key key;

    @Attribute(version = true)
    private Long version;
    
    private String nome;
    
    private String localita;
    
    private String zona;
    
    private String descrizione;
    
    private boolean parcheggio;
    
    private boolean wifi;
    private boolean ristorante;
    private boolean docce;
    
    private boolean acquacalda;
    
    private boolean serviziigenici;
    
    private boolean riscaldamento;
    
    private boolean escursioniguidate;
    
    private boolean colazione;
    
    private boolean mezzapensione;
    
    private int numposti;
    
    private String sito;
    
    private String telefono;
    
    private String mail;
    
    private Key introImage;
    
    private Long imageVersion;
    
    
    private boolean consigliato;
    
    private String quota;
  
    /**
     * Returns the key.
     *
     * @return the key
     */
    public Key getKey() {
        return key;
    }

    /**
     * Sets the key.
     *
     * @param key
     *            the key
     */
    public void setKey(Key key) {
        this.key = key;
    }

    /**
     * Returns the version.
     *
     * @return the version
     */
    public Long getVersion() {
        return version;
    }

    /**
     * Sets the version.
     *
     * @param version
     *            the version
     */
    public void setVersion(Long version) {
        this.version = version;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((key == null) ? 0 : key.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        Rifugio other = (Rifugio) obj;
        if (key == null) {
            if (other.key != null) {
                return false;
            }
        } else if (!key.equals(other.key)) {
            return false;
        }
        return true;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getLocalita() {
        return localita;
    }

    public void setLocalita(String localita) {
        this.localita = localita;
    }

    public String getDescrizione() {
        return descrizione;
    }

    public void setDescrizione(String descrizione) {
        this.descrizione = descrizione;
    }

    public boolean isConsigliato() {
        return consigliato;
    }

    public void setConsigliato(boolean consigliato) {
        this.consigliato = consigliato;
    }

    public String getZona() {
        return zona;
    }

    public void setZona(String zona) {
        this.zona = zona;
    }

    public boolean isParcheggio() {
        return parcheggio;
    }

    public void setParcheggio(boolean parcheggio) {
        this.parcheggio = parcheggio;
    }

    public boolean isWifi() {
        return wifi;
    }

    public void setWifi(boolean wifi) {
        this.wifi = wifi;
    }

    public boolean isRistorante() {
        return ristorante;
    }

    public void setRistorante(boolean ristorante) {
        this.ristorante = ristorante;
    }

    public boolean isDocce() {
        return docce;
    }

    public void setDocce(boolean docce) {
        this.docce = docce;
    }

    public boolean isAcquacalda() {
        return acquacalda;
    }

    public void setAcquacalda(boolean acquacalda) {
        this.acquacalda = acquacalda;
    }

    public boolean isServiziigenici() {
        return serviziigenici;
    }

    public void setServiziigenici(boolean serviziigenici) {
        this.serviziigenici = serviziigenici;
    }

    public boolean isRiscaldamento() {
        return riscaldamento;
    }

    public void setRiscaldamento(boolean riscaldamento) {
        this.riscaldamento = riscaldamento;
    }

    public boolean isEscursioniguidate() {
        return escursioniguidate;
    }

    public void setEscursioniguidate(boolean escursioniguidate) {
        this.escursioniguidate = escursioniguidate;
    }

    public boolean isColazione() {
        return colazione;
    }

    public void setColazione(boolean colazione) {
        this.colazione = colazione;
    }

    public boolean isMezzapensione() {
        return mezzapensione;
    }

    public void setMezzapensione(boolean mezzapensione) {
        this.mezzapensione = mezzapensione;
    }

    public int getNumposti() {
        return numposti;
    }

    public void setNumposti(int numposti) {
        this.numposti = numposti;
    }

    public void setIntroImage(Key introImage) {
        this.introImage = introImage;
    }

    public Key getIntroImage() {
        return introImage;
    }

    public void setImageVersion(Long imageVersion) {
        this.imageVersion = imageVersion;
    }

    public Long getImageVersion() {
        return imageVersion;
    }

    public String getSito() {
        return sito;
    }

    public void setSito(String sito) {
        this.sito = sito;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getMail() {
        return mail;
    }

    public void setMail(String mail) {
        this.mail = mail;
    }

    public String getQuota() {
        return quota;
    }

    public void setQuota(String quota) {
        this.quota = quota;
    }

}
